import sys
from PyQt5.QtWidgets import QApplication,QLabel,QWidget,QVBoxLayout #垂直布局
from PyQt5.QtGui import QPalette # 调色版
from PyQt5.QtGui import QPixmap #展示图片
from PyQt5.QtCore import Qt #有一些常量在这里面，eg:blue
 
class QLabelDdemo(QWidget):
    def __init__(self):
        super(QLabelDdemo, self).__init__()
        self.initUI()
 
    def initUI(self):
        label1=QLabel(self)
        label2 = QLabel(self)
        label3 = QLabel(self)
        label4 = QLabel(self)
 
        label1.setText('<font color=yellow>这是一个文本标签</font>')
        label1.setAutoFillBackground(True) #自动填充背景
        palette=QPalette()
        #设置背景色
        palette.setColor(QPalette.Window,Qt.blue)
        #对label1设置调色版
        label1.setPalette(palette)
 
        #跳转到一个网页或者触发一个点击事件
        label2.setText("<a href='#'>欢迎使用Python GUI程序</a>")
 
        #文本居中
        label3.setAlignment(Qt.AlignCenter)
        #提示信息
        label3.setToolTip('这是一个图片标签')
        label3.setPixmap(QPixmap('../pure_code/icon/first.png'))
 
        #如果设为True,用浏览器打开网页，如果设为False，调用槽函数
        label4.setOpenExternalLinks(True)
        label4.setText("<a href='www.baidu.com'>你好鸭，小仙女</a>")
        # 右对齐
        label4.setAlignment(Qt.AlignRight)
        label4.setToolTip('这是一个超级链接')
 
        vbox=QVBoxLayout()
        vbox.addWidget(label1)
        vbox.addWidget(label2)
        vbox.addWidget(label3)
        vbox.addWidget(label4)
 
        # 绑定信号和槽
        #滑过事件
        label2.linkHovered.connect(self.linkHovered)
        #单击事件
        label4.linkActivated.connect(self.linkClicked)
 
        self.setLayout(vbox)
        self.setWindowTitle('QLabel控件演示')
        self.resize(400,300)
        return
 
    def linkHovered(self):
        print('当鼠标滑过label2标签时，触发事件')
    def linkClicked(self):
        print('当鼠标单击label4标签时，触发事件')
 
if __name__=='__main__':
    app=QApplication(sys.argv)
    main=QLabelDdemo()
    main.show()
    sys.exit(app.exec_())
